#ifndef _AMERICO_BOX_H_
#define _AMERICO_BOX_H_

#include "../Vector.h"
#include "../Intersection.h"
#include "../staticarray.h"

class Box : public Intersection::AABB
{
public:
	Box();
	Box(const Intersection::AABB &anAabb);

	Box &Init(const Vector3<float> &aCenter, const Vector3<float> &someExtents);
	Box &Init(const Utils::StaticArray<Vector3<float>, 8> &somePoints);

	Box &operator=(const Box &aBox);
	Box &operator=(const Intersection::AABB &aBox);

	Box &operator+=(const Vector3f &aPosition);
	Box &operator+=(const Vector4f &aPosition);

	Box &Calculate();
};

#endif